Components
All Helix QAC projects will have at least one component, and most projects will have several. There are different types of components:
- Primary - These provide the basic analysis and work on a TU basis, specific to a language, such as QAC (for C) and QACPP (for C++).
- Secondary - Provides enhanced, specific capabilities such as Namecheck, M3CM, etc. These are also TU-based.
- Whole Program - These components work on all the output from the TUs to provide project level analysis, such as RCMA and Dataflow.
<name>‑<version>
, such as "qac-9.3.0". You can also just specify the component name, such as "qac". If several different versions of the same component are configured on the system then the newest version will be chosen.Listing Components
Adding a Component to a Toolchain in a Project
Removing a Toolchain Component from a Project
To remove a toolchain component, use the following:
Upgrading a Toolchain Component in a Project
To upgrade a component, simply follow the command to add a component and the existing component will be upgraded.
However, this will not upgrade your RCF. If the new component has a more recent RCF, you may wish to upgrade your RCF using a command such as:
The additional ‑‑update‑method
option enables you to replace, update or merge the RCF. It accepts one of these possible values:
- replace - The file is replaced by the one specified. This is the default for RCFs.
- update - The existing file is updated, replacing the mappings for the existing components.
- merge - The existing file is updated, merging rulesets from both files with the same component. In the case of a merge conflict where the new and old values differ, the new values are used.
Update
should be specified if you are already using a default RCF and you still require default mappings. Merge
should be specified where you have customized the RCF and wish to retain the customizations (where possible).